/*
 * CurveAction.h
 *
 *  Created on: 17/lug/2014
 *      Author: va2013
 */

#ifndef CURVEACTION_H_
#define CURVEACTION_H_
#include <Aria.h>
#include <ArAction.h>
#include <iostream>
#include <opencv2/opencv.hpp>

class CurveAction: public ArAction {
private:
	bool* mustCurve;
	double turningTime;
	int rotationVel;
	int direction;
	ArActionDesired myDesired;
	ArRobot* robot;
	double startTime;
	bool achievedCurve;
	int rotDecel;



public:
	CurveAction(ArRobot* r,double turningTime, int rotVel,int rotDecel, bool* mustCurve);

	virtual ~CurveAction();
	ArActionDesired* fire(ArActionDesired currentDesired);
	void setDeltaHeading(double turningTime, int direction);
	bool haveAchievedCurve();
};

#endif /* CURVEACTION_H_ */
